# Mapping of configurations into GDB host definitions.  This is
# invoked from the autoconf generated configure script.

# This file sets the following shell variables:
#  gdb_host_cpu			generic name of host's CPU
#  gdb_host			name of GDB host definition to use
#  gdb_host_float_format	host's float floatformat, or 0
#  gdb_host_double_format	host's double floatformat, or 0
#  gdb_host_long_double_format	host's long double floatformat, or 0
#  gdb_host_obs			host-specific .o files to include

# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.

case $host in
 arm*-*-netbsdelf* | \
 i[34567]86-*-netbsdelf* | \
 m68*-*-netbsdelf* | \
 sparc-*-netbsdelf* | \
 vax-*-netbsdelf*)
    ;;
 *-*-irix* | \
 alpha*-*-osf* | \
 arm*-*-netbsd* | \
 hppa*-*-hiux* | \
 i[34567]86-ncr-* | \
 i[34567]86-*-dgux* | \
 i[34567]86-*-lynxos* | \
 i[34567]86-*-netbsd* | \
 i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3] | \
 i[34567]86-*-sco3.2v5* | \
 i[34567]86-*-sco3.2v4* | \
 i[34567]86-*-sco* | \
 i[34567]86-*-sysv4.2* | \
 i[34567]86-*-sysv4* | \
 i[34567]86-*-sysv5* | \
 i[34567]86-*-unixware2* | \
 i[34567]86-*-unixware* | \
 i[34567]86-*-sysv* | \
 i[34567]86-*-isc* | \
 m68*-*-netbsd* | \
 sparc-*-netbsd* | \
 rs6000-*-lynxos* | \
 vax-*-bsd* | \
 vax-*-netbsd* | \
 vax-*-ultrix* | \
 hppa*-*-hpux* | \
 ia64-*-hpux* | \
 null)
    echo "*** Configuration $host is obsolete." >&2
    echo "*** Support has been REMOVED." >&2
    exit 1
    ;;
esac

case "${host_cpu}" in

aarch64*)		gdb_host_cpu=aarch64 ;;
alpha*)			gdb_host_cpu=alpha ;;
arm*)			gdb_host_cpu=arm ;;
hppa*)			gdb_host_cpu=pa ;;
i[34567]86*)		gdb_host_cpu=i386 ;;
m68*)			gdb_host_cpu=m68k ;;
m88*)			gdb_host_cpu=m88k ;;
mips*)			gdb_host_cpu=mips ;;
powerpc* | rs6000)	gdb_host_cpu=powerpc ;;
sparcv9 | sparc64)	gdb_host_cpu=sparc ;;
s390*)			gdb_host_cpu=s390 ;;
sh*)			gdb_host_cpu=sh ;;
tilegx*)		gdb_host_cpu=tilegx ;;
x86_64*)		gdb_host_cpu=i386 ;;
m32r*)			gdb_host_cpu=m32r ;;
xtensa*)		gdb_host_cpu=xtensa ;;
*)			gdb_host_cpu=$host_cpu ;;

esac

# map host info into gdb names.

case "${host}" in

*-*-darwin*)		gdb_host=darwin ;;

aarch64*-*-linux*)	gdb_host=linux ;;

alpha*-*-linux*)	gdb_host=alpha-linux ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
alpha*-*-openbsd*)	gdb_host=nbsd ;;

arm*-*-linux*)		gdb_host=linux ;;
arm*-*-netbsdelf* | arm*-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
arm*-*-openbsd*)	gdb_host=nbsdelf ;;

hppa*-*-linux*)		gdb_host=linux ;;
hppa*-*-netbsd*)	gdb_host=nbsd ;;
hppa*-*-openbsd*)	gdb_host=obsd ;;

i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
i[34567]86-*-netbsdelf* | i[34567]86-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
i[34567]86-*-go32*)	gdb_host=go32 ;;
i[34567]86-*-mingw32*)	gdb_host=mingw
			gdb_host_obs=mingw-hdep.o
			;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*)	gdb_host=linux ;;
i[34567]86-*-gnu*)	gdb_host=i386gnu ;;
i[3456]86-*-nto*) 	gdb_host=nto ;;
i[34567]86-*-openbsd*)	gdb_host=obsd ;;
i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
			gdb_host=sol2-64 ;;
i[34567]86-*-solaris*)	gdb_host=i386sol2 ;;
i[34567]86-*-cygwin*)	gdb_host=cygwin ;;

ia64-*-linux*)		gdb_host=linux ;;

m68*-*-linux*)		gdb_host=linux ;;
m68*-*-netbsdelf* | m68*-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
m68*-*-openbsd*)	gdb_host=obsd ;;

m88*-*-openbsd*)	gdb_host=obsd ;;

mips*-*-linux*)		gdb_host=linux ;;
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
mips64*-*-openbsd*)	gdb_host=obsd64 ;;

powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
			gdb_host=aix ;;
powerpc*-*-freebsd*)	gdb_host=fbsd ;;
powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
powerpc-*-openbsd*)	gdb_host=obsd ;;

powerpc64*-*-linux*)	gdb_host=ppc64-linux
                        # Support 'pseudo-native' debugging on the Cell BE
                        if test "${target_cpu}" = "spu"; then
				gdb_host=spu-linux
				gdb_native=yes
                        fi
			;;
powerpc*-*-linux*)	gdb_host=linux ;;

s390*-*-linux*)		gdb_host=linux ;;

sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
sh*-*-openbsd*)		gdb_host=nbsd ;;

sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
sparc-*-linux*)		gdb_host=linux ;;
sparc64-*-linux*)	gdb_host=linux64 ;;
sparc-*-netbsdelf* | sparc-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
			gdb_host=nbsd64 ;;
sparc-*-openbsd*)	gdb_host=nbsdelf ;;
sparc64-*-openbsd*)	gdb_host=obsd64 ;;
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
			gdb_host=sol2
			;;

tilegx-*-linux*)	gdb_host=linux ;;

vax-*-netbsdelf* | vax-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
vax-*-openbsd*)		gdb_host=obsd ;;

x86_64-*-linux*)	gdb_host=linux64 ;;
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
			gdb_host=fbsd64 ;;
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
			gdb_host=nbsd64 ;;
x86_64-*-openbsd*)	gdb_host=obsd64 ;;
x86_64-*-mingw*)        gdb_host=mingw64
			gdb_host_obs=mingw-hdep.o
			;;
x86_64-*-cygwin*)	gdb_host=cygwin64 ;;
m32r*-*-linux*)          gdb_host=linux ;;

xtensa*-*-linux*)	gdb_host=linux ;;

esac



# Map the host/cpu onto the floatformat correspondong to C's "float",
# "double" and "long double" types.

case "${host}" in
i[34567]86-*-*)
	gdb_host_float_format="&floatformat_ieee_single_little"
	gdb_host_double_format="&floatformat_ieee_double_little"
	gdb_host_long_double_format="&floatformat_i387_ext"
	;;
hppa*-*-linux*)
	gdb_host_float_format="&floatformat_ieee_single_big"
	gdb_host_double_format="&floatformat_ieee_double_big"
	gdb_host_long_double_format="&floatformat_ieee_double_big"
	;;
m68*-*-*)
	gdb_host_float_format="&floatformat_ieee_single_big"
	gdb_host_double_format="&floatformat_ieee_double_big"
	gdb_host_long_double_format="&floatformat_m68881_ext"
	;;
*)
	gdb_host_float_format=0
	gdb_host_double_format=0
	gdb_host_long_double_format=0
	;;
esac
